{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "#导入必要工具包\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>6</td>\n",
       "      <td>148</td>\n",
       "      <td>72</td>\n",
       "      <td>35</td>\n",
       "      <td>0</td>\n",
       "      <td>33.6</td>\n",
       "      <td>0.627</td>\n",
       "      <td>50</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>85</td>\n",
       "      <td>66</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>26.6</td>\n",
       "      <td>0.351</td>\n",
       "      <td>31</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>8</td>\n",
       "      <td>183</td>\n",
       "      <td>64</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>23.3</td>\n",
       "      <td>0.672</td>\n",
       "      <td>32</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>89</td>\n",
       "      <td>66</td>\n",
       "      <td>23</td>\n",
       "      <td>94</td>\n",
       "      <td>28.1</td>\n",
       "      <td>0.167</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>137</td>\n",
       "      <td>40</td>\n",
       "      <td>35</td>\n",
       "      <td>168</td>\n",
       "      <td>43.1</td>\n",
       "      <td>2.288</td>\n",
       "      <td>33</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pregnancies  Glucose  BloodPressure  SkinThickness  Insulin   BMI  \\\n",
       "0            6      148             72             35        0  33.6   \n",
       "1            1       85             66             29        0  26.6   \n",
       "2            8      183             64              0        0  23.3   \n",
       "3            1       89             66             23       94  28.1   \n",
       "4            0      137             40             35      168  43.1   \n",
       "\n",
       "   DiabetesPedigreeFunction  Age  Outcome  \n",
       "0                     0.627   50        1  \n",
       "1                     0.351   31        0  \n",
       "2                     0.672   32        1  \n",
       "3                     0.167   21        0  \n",
       "4                     2.288   33        1  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('Desktop/Pima Indians Diabetes Data Set/diabetes.csv')\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到，是一个两类分类问题，且特征很少，并且没有多余的列，初始数据看着还不错"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(768, 9)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "样本数不多"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 768 entries, 0 to 767\n",
      "Data columns (total 9 columns):\n",
      "Pregnancies                 768 non-null int64\n",
      "Glucose                     768 non-null int64\n",
      "BloodPressure               768 non-null int64\n",
      "SkinThickness               768 non-null int64\n",
      "Insulin                     768 non-null int64\n",
      "BMI                         768 non-null float64\n",
      "DiabetesPedigreeFunction    768 non-null float64\n",
      "Age                         768 non-null int64\n",
      "Outcome                     768 non-null int64\n",
      "dtypes: float64(2), int64(7)\n",
      "memory usage: 54.1 KB\n"
     ]
    }
   ],
   "source": [
    "data.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "特征都是数值型数据，没有需要特别处理的字符串，而且没有空值（看了一下数据，应该是用0填充过缺失值了）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pregnancies</th>\n",
       "      <th>Glucose</th>\n",
       "      <th>BloodPressure</th>\n",
       "      <th>SkinThickness</th>\n",
       "      <th>Insulin</th>\n",
       "      <th>BMI</th>\n",
       "      <th>DiabetesPedigreeFunction</th>\n",
       "      <th>Age</th>\n",
       "      <th>Outcome</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "      <td>768.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>3.845052</td>\n",
       "      <td>120.894531</td>\n",
       "      <td>69.105469</td>\n",
       "      <td>20.536458</td>\n",
       "      <td>79.799479</td>\n",
       "      <td>31.992578</td>\n",
       "      <td>0.471876</td>\n",
       "      <td>33.240885</td>\n",
       "      <td>0.348958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>3.369578</td>\n",
       "      <td>31.972618</td>\n",
       "      <td>19.355807</td>\n",
       "      <td>15.952218</td>\n",
       "      <td>115.244002</td>\n",
       "      <td>7.884160</td>\n",
       "      <td>0.331329</td>\n",
       "      <td>11.760232</td>\n",
       "      <td>0.476951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.078000</td>\n",
       "      <td>21.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>62.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>27.300000</td>\n",
       "      <td>0.243750</td>\n",
       "      <td>24.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>117.000000</td>\n",
       "      <td>72.000000</td>\n",
       "      <td>23.000000</td>\n",
       "      <td>30.500000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>0.372500</td>\n",
       "      <td>29.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>6.000000</td>\n",
       "      <td>140.250000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>32.000000</td>\n",
       "      <td>127.250000</td>\n",
       "      <td>36.600000</td>\n",
       "      <td>0.626250</td>\n",
       "      <td>41.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>17.000000</td>\n",
       "      <td>199.000000</td>\n",
       "      <td>122.000000</td>\n",
       "      <td>99.000000</td>\n",
       "      <td>846.000000</td>\n",
       "      <td>67.100000</td>\n",
       "      <td>2.420000</td>\n",
       "      <td>81.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       Pregnancies     Glucose  BloodPressure  SkinThickness     Insulin  \\\n",
       "count   768.000000  768.000000     768.000000     768.000000  768.000000   \n",
       "mean      3.845052  120.894531      69.105469      20.536458   79.799479   \n",
       "std       3.369578   31.972618      19.355807      15.952218  115.244002   \n",
       "min       0.000000    0.000000       0.000000       0.000000    0.000000   \n",
       "25%       1.000000   99.000000      62.000000       0.000000    0.000000   \n",
       "50%       3.000000  117.000000      72.000000      23.000000   30.500000   \n",
       "75%       6.000000  140.250000      80.000000      32.000000  127.250000   \n",
       "max      17.000000  199.000000     122.000000      99.000000  846.000000   \n",
       "\n",
       "              BMI  DiabetesPedigreeFunction         Age     Outcome  \n",
       "count  768.000000                768.000000  768.000000  768.000000  \n",
       "mean    31.992578                  0.471876   33.240885    0.348958  \n",
       "std      7.884160                  0.331329   11.760232    0.476951  \n",
       "min      0.000000                  0.078000   21.000000    0.000000  \n",
       "25%     27.300000                  0.243750   24.000000    0.000000  \n",
       "50%     32.000000                  0.372500   29.000000    0.000000  \n",
       "75%     36.600000                  0.626250   41.000000    1.000000  \n",
       "max     67.100000                  2.420000   81.000000    1.000000  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据的方差方差都有点大，而且特征之间的数据大小差的比较多，最好做一下标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x183fc6d5ef0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fa0d5fd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(data.Outcome)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "0样本更多一些，将来可以考虑"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fc6fa9e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.Pregnancies.values)\n",
    "data = data[data.Pregnancies<16]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "怀孕次数这个特征大都集中在0-5次，但十次以上的也不少，虽然有几个点看起来像离群点，但考虑到怀孕次数多可能对身体有害，进而增加糖尿病概率，且这些点与其他点的差距不算太大，因此保留。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x183fddd8a20>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fdd6fac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.Glucose.values)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "整体来说分布比较正常，几个零点可能是因为缺失值填补的结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fdd7a4a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.BloodPressure.values)\n",
    "data = data[data.BloodPressure<120]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fde208d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.SkinThickness.values)\n",
    "data = data[data.SkinThickness<80]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "总体数据偏小，有一个点太大了，剔除"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fdde0080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.Insulin.values)\n",
    "data = data[data.Insulin<800]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "同理，剔除一个离群点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x183fde9f128>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fc6d34e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.BMI.values)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x183fdf01438>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fdec45c0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(range(data.shape[0]),data.DiabetesPedigreeFunction.values)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "考虑到较大的几个点可能对正样本（Outcome=1）影响较大，因此保留"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这份数据比较精炼，因此特征工程做的比较保守。接下来开始对数据进行处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = data.drop(\"Outcome\",axis=1)\n",
    "y = data['Outcome']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "x_train,x_test, y_train, y_test = train_test_split(x,y,test_size=0.2, random_state=40)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据要求，随机取20%的数据作为测试集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "ss_x = StandardScaler()\n",
    "x_train = ss_x.fit_transform(x_train)\n",
    "x_test = ss_x.transform(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对数据做标准化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集上的最佳分数： 0.4753786530557959\n",
      "训练集上的最佳参数： {'C': 1, 'penalty': 'l1'}\n",
      "测试集上的最佳分数： 0.5434592673550723\n",
      "测试集上的最佳参数： {'C': 1, 'penalty': 'l1'}\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn import metrics\n",
    "penaltys = ['l1','l2']\n",
    "cs = [0.001,0.01,0.1,1,10,100,1000]\n",
    "tuned_paramaters = dict(penalty = penaltys, C =cs)\n",
    "lr = LogisticRegression()\n",
    "\n",
    "grid = GridSearchCV(lr,tuned_paramaters,cv=5,scoring = 'neg_log_loss')\n",
    "grid.fit(x_train,y_train)\n",
    "print(\"训练集上的最佳分数：\",-grid.best_score_)\n",
    "print(\"训练集上的最佳参数：\",grid.best_params_)\n",
    "\n",
    "grid.fit(x_test,y_test)\n",
    "print(\"测试集上的最佳分数：\",-grid.best_score_)\n",
    "print(\"测试集上的最佳参数：\",grid.best_params_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "测试集上的正确率： 0.7450980392156863\n"
     ]
    }
   ],
   "source": [
    "grid2 = GridSearchCV(lr,tuned_paramaters,cv=5)\n",
    "grid2.fit(x_test,y_test)\n",
    "print(\"测试集上的正确率：\",grid2.best_score_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里多算了一次正确率，以便直观地与svm做对比"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "训练集上的结果:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          0       0.81      0.89      0.84       401\n",
      "          1       0.73      0.59      0.65       210\n",
      "\n",
      "avg / total       0.78      0.79      0.78       611\n",
      "\n",
      "训练集上的混淆矩阵:\n",
      " [[356  45]\n",
      " [ 86 124]]\n",
      "训练集上的结果:\n",
      "              precision    recall  f1-score   support\n",
      "\n",
      "          0       0.75      0.91      0.82        98\n",
      "          1       0.74      0.45      0.56        55\n",
      "\n",
      "avg / total       0.74      0.75      0.73       153\n",
      "\n",
      "训练集上的混淆矩阵:\n",
      " [[89  9]\n",
      " [30 25]]\n"
     ]
    }
   ],
   "source": [
    "lr = LogisticRegression(penalty = 'l1')\n",
    "lr.fit(x_train,y_train)\n",
    "y_train_pred = lr.predict(x_train)\n",
    "y_test_pred = lr.predict(x_test)\n",
    "print(\"训练集上的结果:\\n\",metrics.classification_report(y_train,y_train_pred))\n",
    "print(\"训练集上的混淆矩阵:\\n\",metrics.confusion_matrix(y_train,y_train_pred))\n",
    "\n",
    "print(\"训练集上的结果:\\n\",metrics.classification_report(y_test,y_test_pred))\n",
    "print(\"训练集上的混淆矩阵:\\n\",metrics.confusion_matrix(y_test,y_test_pred))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "总的损失还是比较小的，说明这份数据本身质量很高；但在测试集上的性能都有一定程度的下降，推测是因为样本数过少，导致一定程度的过拟合。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x183fdffc5f8>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD8CAYAAABzTgP2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xl8VPW9//HXJ3vYIWyBAAmbbAJKtKxl06tWq15rba22VMu11kprra1Yq7319lp621t/t9VaUbTUomKpCm2xyu6CW1B2UMJqJGxhCRCyzXx/f5wJMpKQZSY5M+H9fDzmMTPnfM85n8kjyXu+Z/kec84hIiJSJcHvAkREJLYoGEREJIyCQUREwigYREQkjIJBRETCKBhERCSMgkFERMIoGEREJIyCQUREwiT5XUBDdOzY0WVnZ/tdhohIXFm1atUB51yn2trFZTBkZ2eTl5fndxkiInHFzHbWpZ12JYmISBgFg4iIhFEwiIhImLg8xiAizUdFRQUFBQWUlpb6XUqzkZaWRlZWFsnJyQ1aXsEgIr4qKCigdevWZGdnY2Z+lxP3nHMUFRVRUFBATk5Og9ahXUki4qvS0lIyMjIUClFiZmRkZETUA4soGMysg5ktMrMtoef2Z2jbxsw+MbOHT5m23Mw+NLPVoUfnSOoRkfikUIiuSH+ekfYYpgNLnHP9gCWh9zX5L2BFNdNvcM4NDz32RViPiJwFvvLYW3zlsbf8LqPZijQYrgJmh17PBq6urpGZjQC6AK9GuD0RkXo5UbiZE4Wbfa1hx44dDBkyBIDVq1ezcOHCei2/fPlyLrt4AicKN7N582ZGjRpFamoqv/nNbxqj3IiDoYtzrhAg9HzariAzSwD+F/hRDet4KrQb6T5Tf1IkJmx4cCwbHhzrdxnNUkOC4VQdOnTgd7/7HXfddVcUqwpXazCY2WIzW1/N46o6buM2YKFz7uNq5t3gnDsXGBd6fP0MddxiZnlmlrd///46blpEpHY7duxgwIABTJkyhaFDh3LttddSUlLCqlWrGD9+PCNGjOCSSy6hsLAQgAkTJnD33Xdz4YUX0r9/f15//fWT6xk3bhznn38+559/PitXrgzbTnl5Offffz9z585l+PDhzJ07l379+lH1Py0YDNK3b18OHDhQY62dO3fmggsuaPCpqHVR6+mqzrmLappnZnvNLNM5V2hmmUB1xwhGAePM7DagFZBiZsecc9Odc5+EtnHUzJ4BLgT+XEMdM4GZALm5ua62ukUk/vz87xvYuLu41nYbC702dTnO0L9tgJ+M71hruw8//JBZs2YxZswYbr75Zh555BFefPFF5s+fT6dOnZg7dy733nsvTz75JACVlZW8++67LFy4kJ///OcsXryYzp07s2jRItLS0tiyZQvXX3992LhuKSkpPPDAA+Tl5fHww955OJs3b2bOnDnccccdLF68mGHDhtGxY0cWLFhAXl4eDzzwQK21R1uk1zEsAKYAM0LP8z/bwDl3Q9VrM/smkOucm25mSUA759wBM0sGrgAWR1iPiEiD9OjRgzFjxgBw44038uCDD7J+/XouvvhiAAKBAJmZmSfbX3PNNQCMGDGCHTt2AN7FerfffjurV68mMTGRjz76qNbt3nzzzVx11VXccccdPPnkk9x0000AXHnllVx55ZXR/Ih1FmkwzACeN7NvAbuALwOYWS5wq3Nu6hmWTQVeCYVCIl4oPB5hPSK+qfr2Ovfbo3yuJH797IuD69SuPj/ruh54/uwhztatWzN48GDeeqv6XklqaioAiYmJVFZWAvDQQw/RpUsX1qxZQzAYJC0trdbt9ujRgy5durB06VLeeecd5syZU6d6G1NEB5+dc0XOucnOuX6h54Oh6XnVhYJz7k/OudtDr48750Y454Y65wY7577vnAtEUo+In+4v+hH3F9V0joXEul27dp0MgWeffZaRI0eyf//+k9MqKirYsGHDGddx5MgRMjMzSUhI4OmnnyYQOP1fWuvWrTl69GjYtKlTp3LjjTdy3XXXkZiYGKVP1HC68llEBBg4cCCzZ89m6NChHDx4kGnTpjFv3jzuvvtuhg0bxvDhw087mPxZt912G7Nnz2bkyJF89NFHtGzZ8rQ2EydOZOPGjScPPoO32+jYsWMndyMBLFiwgPvvv/+05ffs2UNWVha//e1v+cUvfkFWVhbFxbUfl6kPjZUkIgIkJCTwxz/+MWza8OHDee21105ru3z58pOvO3bsePIYQ79+/Vi7du3Jeb/85S8B7+Zi69evB7zTTd97772w9a1Zs4Zhw4YxYMCAk9NOPcYwYcIEPneOV1vXrl0pKCho4KesGwWDiMSd5nQcZ8aMGTz66KMxcWyhinYlichZ79Rv9E1t+vTp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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fe155278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "test_means = grid.cv_results_['mean_test_score']\n",
    "test_std = grid.cv_results_['std_test_score']\n",
    "train_means = grid.cv_results_['mean_train_score']\n",
    "train_std = grid.cv_results_['mean_train_score']\n",
    "\n",
    "len_cs = len(cs)\n",
    "len_penalty = len(penaltys)\n",
    "test_scores = np.array(test_means).reshape(len_cs,len_penalty)\n",
    "train_scores = np.array(train_means).reshape(len_cs,len_penalty)\n",
    "test_stds = np.array(test_std).reshape(len_cs,len_penalty)\n",
    "train_stds = np.array(train_std).reshape(len_cs,len_penalty)\n",
    "\n",
    "for i,value in enumerate(penaltys):\n",
    "    \n",
    "    plt.errorbar(np.log(cs),test_scores[:,i],yerr=test_stds[:,i],label=\"penalty:\"+value)\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过可视化看到，log(C)的最佳值应该在-2或0附近，于是进一步缩小范围"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "测试集上的最佳分数： 0.5434609925254588\n",
      "测试集上的最佳参数： {'C': 1, 'penalty': 'l1'}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\deprecation.py:122: FutureWarning: You are accessing a training score ('mean_train_score'), which will not be available by default any more in 0.21. If you need training scores, please set return_train_score=True\n",
      "  warnings.warn(*warn_args, **warn_kwargs)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x183fdf01828>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD8CAYAAABzTgP2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3Xl4FeX5//H3nT1hTQhLMGFRQDZZI4K4L1XrAlK12qJURcSl32p/tlCtttINq63Waq0oKiAqlqpQl1ahautKA7KvgiyBACFAWEL25/fHDMjBhCSchMlJPq/rynW2OefcE8j5nHnmmXvMOYeIiMhBUUEXICIi9YuCQUREQigYREQkhIJBRERCKBhERCSEgkFEREIoGEREJISCQUREQigYREQkREzQBRyL1NRU16lTp6DLEBGJKPPnz9/hnGtd1XIRGQydOnUiKysr6DJERCKKmW2oznIaShIRkRAKBhERCaFgEBGREGHtYzCzFGAG0AlYD1zjnNtVybLNgRXA6865O/37PgDSgAP+Yt9yzm0PpyYRiSwlJSVkZ2dTWFgYdCkNRkJCAunp6cTGxh7T88Pd+TwemOucm2hm4/3b4ypZ9lfAhxXc/33nnPYkizRS2dnZNGvWjE6dOmFmQZcT8Zxz5OXlkZ2dTefOnY/pNcIdShoGTPGvTwGGV7SQmQ0E2gLvhvl+ItLAFBYW0qpVK4VCLTEzWrVqFdYWWLjB0NY5lwPgX7Y5cgEziwL+APykktd43swWmtn9dpT/GWY2xsyyzCwrNzc3zLJFpD5RKNSucH+fVQ4lmdkcoF0FD91Xzfe4HXjbObepgmK/75zbbGbNgL8D1wNTK3oR59wkYBJAZmamzkcq0oh99+lPAZhx65CAK2mYqtxicM5d4JzrXcHPLGCbmaUB+JcV7TgeAtxpZuuBR4AbzGyi/9qb/cu9wEvAoFpZKxGRemT9+vX07t0bgIULF/L222/X6PkffPABl1x4DgdyVrJy5UqGDBlCfHw8jzzySF2UG/ZQ0mxglH99FDDryAWcc993znVwznUC7gGmOufGm1mMmaUCmFkscBmwNMx6REQCszZ3H2tz9x11mWMJhsOlpKTw+OOPc8899xzza1Ql3GCYCFxoZmuAC/3bmFmmmT1bxXPjgX+Z2WJgIbAZeCbMekREamz9+vV0796dUaNG0adPH6666ioKCgqYP38+Z599NgMHDuSiiy4iJycHgHPOOYdx48YxaNAgunXrxn//+18ASr76nBsuO4cBAwYwYMAAPvnkk5D3KS4u5oEHHmDGjBn069ePGTNm0LVrVw7uNy0vL6dLly7s2LGj0lrbtGnDqaeeesxTUasjrOmqzrk84PwK7s8CRldw/wvAC/71/cDAcN5fRBqWB/+xjOVb9lS53PIcb5mD+xqOpmf75vzi8l5VLrdq1SomT57M0KFDuemmm3jyySd5/fXXmTVrFq1bt2bGjBncd999PPfccwCUlpYyb9483n77bR588EHmzJlD61YpvPnKZJI792XNmjVcd911IX3d4uLimDBhAllZWTzxxBMArFy5kunTp3PXXXcxZ84c+vbtS2pqKrNnzyYrK4sJEyZUWXtti8gmeiIitS0jI4OhQ4cCMHLkSH7729+ydOlSLrzwQgDKyspIS0s7tPyIESMAGDhwIOvXrwegpLSUH9/3K5as+oro6GhWr15d5fvedNNNDBs2jLvuuovnnnuOG2+8EYArrriCK664ojZXsdoUDCJSb1Tnmz3UzaykI2dNNmvWjF69evHppxVvlcTHxwMQHR1NaWkpAH+eNIU2qaksevUNysvLSUhIqPJ9MzIyaNu2Lf/+97/5/PPPmT59ephrEj71ShIRATZu3HgoBF5++WUGDx5Mbm7uoftKSkpYtmzZUV9jz969tGvbmqioKKZNm0ZZWdk3lmnWrBl79+4NuW/06NGMHDmSa665hujo6Fpao2OnYBARAXr06MGUKVPo06cPO3fu5Ic//CEzZ85k3Lhx9O3bl379+n1jZ/KRxoy6jul/e4PBgwezevVqmjRp8o1lzj33XJYvX35o5zN4w0b79u07NIwEMHv2bB544IFvPH/r1q2kp6fzxz/+kV//+tekp6ezZ0/V+2VqwpyLvGPFMjMznU7UI9IwrFixgh49etToObU9lLR+/Xouu+wyli4Nb8b8gZyVACSmda/R87Kysrj77rsPzW6qjdeu6PdqZvOdc5lVPVf7GEQk4jSkI54nTpzIU089VS/2LRykoSQRafQ6deoU9tbCsRo/fjwbNmzgjDPOCOT9K6JgEBGREAoGEREJoWAQEZEQCgYRiTzPX+r9SJ1QMIiI1LHaaLs94oaxAEyfPp0+ffrQp08fTj/9dBYtWlTr9SoYRESOo3Dbbnfu3JkPP/yQxYsXc//99zNmzJharM6jYBCRRq+22m5v2LSZC4aPrNO226effjrJyckADB48mOzs7Fr/fegANxGpP94ZD1uXVL3c1sXeZXX2M7Q7BS6ZWOVikdh2e/LkyVxyySVV/w5qSMEgIkLktd1+//33mTx5Mh999NExre/RKBhEpP6oxjd74OsthRvfqrW3jqS224sXL2b06NG88847tGrVqsrla0r7GEREiJy22xs3bmTEiBFMmzaNbt261WQVq03BICJC5LTdnjBhAnl5edx+++3069ePzMwqm6XWmNpui0igjqXtdm0PJantdijtYxCRyFOL+xaCprbbIiL1kNpuh1IwiEjgInFIuz4L9/epYBCRQCUkJJCXl6dwqCXOOfLy8qo1VbYy2scgIoFKT08nOzv7UFuISFaSvxWA2N21H3I1ee2EhATS09OP+b0UDCISqNjYWDp37hx0GbVi2W9vAaDHvbV/NHJdvvaRNJQkIiIhFAwiIhJCwSAiIiEUDCIiEkLBICIiIRQMIiISIqxgMLMUM3vPzNb4l8mVLFdmZgv9n9mH3d/ZzD73nz/DzOLCqUdERMIX7hbDeGCuc64rMNe/XZEDzrl+/s/hpyR6CHjUf/4u4OYw6xERkTCFGwzDgCn+9SnA8Oo+0bzTJZ0HzDyW54uISN0INxjaOudyAPzLNpUsl2BmWWb2mZkd/PBvBex2zpX6t7OBEyp7IzMb479GVkM4dF4amOcvrd6J6UUiQJUtMcxsDtCugofuq8H7dHDObTGzE4F/m9kSYE8Fy1XaBMQ5NwmYBN6Jemrw3iIiUgNVBoNz7oLKHjOzbWaW5pzLMbM0YHslr7HFv1xnZh8A/YG/Ay3NLMbfakgHthzDOoiISC0KdyhpNjDKvz4KmHXkAmaWbGbx/vVUYCiw3Hk9dt8Hrjra80VE5PgKNxgmAhea2RrgQv82ZpZpZs/6y/QAssxsEV4QTHTOLfcfGwf82My+xNvnMDnMekREJExhtd12zuUB51dwfxYw2r/+CXBKJc9fBwwKpwYREaldOvJZRERCKBhERCSEgkFEREIoGEREJISCQUREQoQ1K0lEPMty8gHoFXAdIrVBWwwiIhJCwSAiIiEUDCIiEkLBICIiIRQMIiISQsEgIiIhFAwiIhJCwSAiIiEUDCIiEkLBICIiIRQMIiISQsEgIiIhFAwiIhJCwSAiIiEUDCIiEkLBICIiIRQMIiISQsEgIiIhFAwiIhJCwSAiIiEUDCIiEkLBICIiIRQMIiISIiboAkQiXsFOWpXlEuNKYc4vIToeomMhOs7/qcb1mLijLxMVC1H6HleflJSVk7O7kI07C9i0q4BNOwtYWjCMvS6RPrOW0rN9c3qkNadb22YkxEYHXW6NKBhEjlX+Zvj0SZj/Au3K9lNGFHzyBJSX1M37RcUcFhbxRwmaCu6LqSysjhZaR3uPCq7HxDeoACsvd+TuK2LToQ/+AyHXc/IPUO6+Xj46ykh1aTSzQmbOz2b/p2WH7j8xtcmhoOiZ5l22bhYf0JpVTcEgUlO5q+DjP8HiV8GVwylX8eXyBRRFJdDr3o/AOSgrgbJi/6ei6wcvi6qx7BHXS6uxbEl+BfdXsGxdCAmwqgKlBltVB8OnRltjR1k+Kor8gpJD3/YPffj7t7N3HaCotDxk1do0iycjJYlTOyWTkXICGclJpKckkpGcRFqLBFY9dBYAPcb/l407C1iRs4flOXtYkbOHrPW7mLVwy6HXSm0a74dFM3r6gdE5tQkx0cEHa1jBYGYpwAygE7AeuMY5t6uC5cqAJf7Njc65K/z7XwDOBvL9x37gnFsYTk0idWbTPPjoMVj1FsQkQuZNMOQOSO5I0cozvl7OzBsaiokLrtbqcA7KSysPl9JjCK3KAugbgehfL9pTjbArqpPVLyWKOBdDB2JoRwz9iKHMYnBRcVhMHFHN44mJiyc2Lp74+ATi4xOIjj0szApjYXsc5H0dPqll23EYUctfo1OLDDp1zOCSXl0PbUXtLihmRc7eQ2GxfMsenlu7g5Iyb9MjPiaKk9s1O7RV0SOtOd3TmtE8IbZOfgeVCXeLYTww1zk30czG+7fHVbDcAedcv0pe4yfOuZlh1iFSN5yDNe/Bx4/Bho8hMRnOHgeDxkCT1KCrC4+Z/4EWCzQJuprKOQflZRUGRmlxETvy97F9915yd+8lb88+dubvY9e+/ezau5/CA4XEUkqslRJLKUlRZaQmQqtEIyXBSI53tIiDZrGOVjHlxFlF71MMZQWwf/fRw660iLb4Y0szb/q6/qhYaHECtMigZYsMhrTMYEiLDBiQDud1oLhJGmt3lbLiYFjk7OHd5dt45X+bDr1ERkoi6QUjODF6Oz/aU0ib5gl1+isPNxiGAef416cAH1BxMIhElrJSWPaat4WwfRk0T4eLfgcDboD4pkFX12g459ixrzhkeGfTzoJDO3xzdhdSemigP4Yoa0laizQyUhLJOCGJLilJZKQk0iEliYzkJFKbxhMVZXVW77LfDCWKcnqMngz52ZC/EXZv8q9vgnUfwN4c4OudE3FAjyZt6NEyA1pkQEY6rncGu+Pa8mVRMov2NueLXMei3al8VtqN28rKK3v7WhNuMLR1zuUAOOdyzKxNJcslmFkWUApMdM69cdhjvzGzB4C5wHjnXIXbjWY2BhgD0KFDhzDLFqlEcQF8Mc3biZy/EVp3h+F/hVOu8r9ZS23bW1jyjbH9jTu/vn6gpCxk+dSmcaQnJ9EvI5nL+/gf+v4Hf1rLBGKDHKM3o5xoaNvT+6lIWQns2eyFxe5NXmDkb/Kub1sKq/+JlRaSDJzq/xDXlML4EoqIp7n7D9C5TlejymAwszlAuwoeuq8G79PBObfFzE4E/m1mS5xza4GfAVvxQnMS3tbGhIpewDk3yV+GzMxMV9EyIsesYCfMewbmPQ0FeZBxGnz799D1ogYzyyYoRaVlbN51gE3+t/0jd/TuLgidxdU0Pob05EQ6pTbhrG6tyUhO9D74U5JIT04kKS7C58xEx0JyJ++nIs7B/h2hgZGfTfG86cRRjMXU7TASVCMYnHMXVPaYmW0zszR/ayEN2F7Ja2zxL9eZ2QdAf2Dtwa0NoMjMngfuqekKiIQlP9ufcjoFSvZDt4th6F3QcUjQlUWMsnLHtj2Fhw3xHCD7sA//bXsLcYd9lYuLjuKE5ETSkxPpk5526Nt+hj+7p2VSLGZ1N9xT75lB09bezwkDDt296YuPAOjVPK3OSwg3emcDo4CJ/uWsIxcws2SgwDlXZGapwFDg9/5jB0PFgOHA0jDrEame7Su9KadLXvW+oZ1yNQz9UeWb/42Yc45dBSUhY/ubdh4g2x/62bz7wKFZNeB9rrVrnkBGShJDu6Qe+sDP8Mf72zZLqNNxfglfuMEwEXjVzG4GNgJXA5hZJjDWOTca6AE8bWbleC04JjrnlvvPn25mrQEDFgJjw6xH5Og2fg4fPQqr34HYJDh1tDfltGXj3m+1v6i0woO4Dn747y8OHedPToqlQ0oSvU5owcW900I+/Nu3TCA+JrKO9JVQYQWDcy4POL+C+7OA0f71T4BTKnn+eeG8v0i1OAdr3vUCYeOn/pTT8f6U01ZBV3dcFJeWs2X3gW8cxHVw2Cdvf+jBbklx0YeGdwaf2Mof7vl6rL9pfISP88tR6V9XGq6yElj6d2/IaPtyb8rpxQ/BgOshrh7P2z8G5eWO7XuLvv7AP2KWz5HtG2KijBOSvW/53+rVlvSDQz3+h3+rJnGNe5y/kVMwSMNTvB8WTINPn/BmdbTuAVc+Db2/E7FTTp1z5B8oOeLb/tcBkL3rAMVHtG9o2zyejOQkBnVOISM5kXR/J2+HVkm0a55AtMb5pRIKBmk4CnbCvEnw+dNwYCd0GALffgS6fisippweKC7zxvSPGOvfuNMb7tlbVBqyfIvEWDJSEjm5bTMu6NH20Id/h5QkTmiZGHEdPaX+UDBI5Nu9yZtyumAKlBRAt0vgjLugw+CgKwtRWlZOTn7hN77tb/SHfnbsCz22MyE2yhviSU70mrYdNrMnIyXpuPfPkcZDwSCRa9tyb//BUr/V1sEpp216BFKOc7B9b2HIbJ6Nh4335+QXUnbYQH90lJHWIoGM5CTO797m0Ad+ur/Tt3XTeI3zSyAUDBJ5NnzqNbVb/U9vyumgMTD4dmiZEUg52/YUcv/+77KsLIOi38wNeSy1aTwZKYkM7JgcchBXRorXprk+tFgWOZKCQSJDeTms+ZfX1G7TZ5CYAufcC4NugaSUwMpasHEXY6fNZ09ZOhfHfcGAi2889OGfnpxEYpzG+SXyKBikfisrgSUzvSGj3BXQogNc8nvoPzLwKad/y9rEfa8vpV2LBH7RZCqdonPpdfqDgdYkUhsUDFI/Fe+HBVO9Lqd7sqFNL7hyEvQeEfiU09Kycn7z9gqe/3g9Z3RJ5Ynv9WfzY/cHWpNIbVIwSP2yP8/rcDpvEhzYBR2HwmWPQtcLvSY8Adu1v5g7XlrAJ2vzuGloZ+79dndioqPYHHRhIrVIwSD1w+6N3tbBgqlQegBOvtSbcpoxKOjKDlm5dQ+3TM1iW34RD1/Vh6szg9nZLVLXFAwSrG3L/C6nM70tgj7fhdP/D9p0D7qyEP9cmsOPX11E0/gYZtw6mP4dkoMuSaTOKBjk+HPOa2b30WPeTKPYJnDaWBhyO7RID7q6EOXljsfmruHxuWvol9GSp68fSNs6Pt+uSNAUDHL8lJd7xx589Chkz4OkVnDuz+HUmwOdclqZfUWl3D1jIe8t38ZVA9P59fDeajMhjYKCQepeabF3dPLHf4Lcld65D779CPT7PsQlBV1dhTbk7eeWqVmszd3PLy7vyQ9O76SjkKXRUDBI3Sna5/Uv+vRJ7+TnbXvDiGeh15UQXX//6/13TS53vvQFZjD1pkEM7ZIadEkix1X9/euUyLV/h9fhdN4kKNwNHc+Ay/8EXS6oF1NOK+OcY/JHX/Hbt1fQtU0znrkhkw6t6ucWjUhdUjBI7dm1wTsHwoJp3pTT7pfB0Lsg49SgK6tSYUkZ976+hNcWbObiXu34wzV9aaKzlEkjpf/5Er6tS/0up38Hi4K+34XTfwStuwVdWbVszS/k1mlZLMrO58cXduPOc7voZPXSqCkY5Ng4Bxs+8WYYffkexDWFwbd5XU5bnBB0ddU2f8Muxr44n4KiUp6+fiAX9WoXdEkigVMwSM2Ul8Oqt72219n/g6RUOO/ncOpoSIysg75ezdrEz19fSlrLBKaPPo1ubZsFXZJIvaBgkOopLYYlr3pDRjtWQ8uO3pTT/iMhNjHo6mqkpKyc37y1ghc+Wc+ZXVP583X9aZkUF3RZIvWGgkGOrmgvzPennO7dAm1Pge9Mhp7D6/WU08rs3F/MHdMX8Om6PEaf0Znxl3TXyXJEjhB5f9lyfOzL/brLaWE+dDoThv0ZTjq/Xk85PZoVOV4TvO17i/jD1X35zsD61X5DpL5QMEionV95U06/eBFKi6DHZTD0bkgfGHRlYXlnidcEr3liDK/eOoR+GS2DLkmk3lIwiGfrEq+p3bLXwKKh77Uw9EeQ2jXoysJSXu54bM5qHv/3lwzo0JK/jhxIGzXBEzkqBUNj5hys/8ibcrp2rjfldMgd3pTT5u2Dri5sewtLuHvGIuas2MY1men8anhv4mPqpgnehFYPAzCjTl5d5PhSMDRG5eWw6i0vEDbPhyat4bz7vS6nETbltDLrd3hN8Nbt2M+DV/TihiEd1QRPpJoUDI1JaREsngEfPw55ayC5E1z6R+j3vYibcno0/1mdy50vLSA6yph20yBOVxM8kRpRMDQGhXtg/gvw2V9gbw606wNXPQc9hkXklNPKOOd49r9f8bt3VtCtrdcELyNFTfBEaqrhfCrIN+3bDp//FeY9C0X50PksGPYknHRexE45rUxhSRk/e20Jr3+xmUt6t+ORq9UET+RY6S+nIdr5FXzyZ2/KaVkx9LgczrgLTojsKaeVyck/wK3T5rM4O5//d2E37jyvi/YniIQhrGAwsxS8iRidgPXANc65XRUs1wF4FsgAHPBt59x6M+sMvAKkAAuA651zxeHU1KjlLPKmnC5/A6JioO91cPr/QWqXoCurM/M37OTWaQs4UFzKpOsH8i01wRMJW7i9AMYDc51zXYG5/u2KTAUeds71AAYB2/37HwIe9Z+/C7g5zHoaH+dg3Ycw7Up4+ixY8x6c/kO4awlc8XiDDoUZ/9vItZM+o2l8NK/fMVShIFJLwh1KGgac41+fAnwAjDt8ATPrCcQ4594DcM7t8+834Dzge4c9/5fAU2HW1DiUl8HKN70thC0LoEkbOP8XkHkTJDbso3pLysr59ZvLmfLpBs7smsoT1w2gRVJs0GWJNBjhBkNb51wOgHMux8zaVLBMN2C3mb0GdAbm4G1ZJAO7nXOl/nLZQKWN/M1sDDAGoEOHDmGWHcFKi2DRK/DJ45D3JSR3hsse84aNYhv+Eb15+4q446UFfLZuJ2POOpGfXnSymuCJ1LIqg8HM5gAVbaPfV4P3OBPoD2zE2yfxA2B2Bcu6yl7EOTcJmASQmZlZ6XINVuEemP88fPoX2LcV0vrC1S9Ajysgqm6O5q1vlm/xmuDl7ivi0e/25cr+aoInUheqDAbn3AWVPWZm28wszd9aSOPrfQeHywa+cM6t85/zBjAYeA5oaWYx/lZDOrDlWFaiQdu7DT5/Cv73nDfl9MRz4Mq/epeNaObNW4tzuOdvi2iRGMvfbh1CXzXBE6kz4Q4lzQZGARP9y1kVLPM/INnMWjvncvH2K2Q555yZvQ9chTczqbLnN055a70ppwtf8qac9hzmTTlt3z/oyo6r8nLHH99bzRPvf8nAjsk8NXIAbZo1/CEzkSCFGwwTgVfN7Ga8YaKrAcwsExjrnBvtnCszs3uAuf4O5/nAM/7zxwGvmNmvgS+AyWHWE/m2LPROm7l8ljfltN/3vCmnrU4KurLjzmuCt5A5K7bz3cwMJgzvVWdN8ETka2EFg3MuDzi/gvuzgNGH3X4P6FPBcuvwpq82bs7BVx96M4zWvQ/xzb0wGHwbNGucUzC/8pvgfbVjPxOG9eL6wWqCJ3K86MjnIJWXwYp/eF1OcxZC07ZwwYOQeSMktAi6usB8uDqXH760gJjoKF68+TSGnNQq6JJEGhUFQziev9S7vPGtmj2vpBAWveztQ9i5FlJOgsv/BH2ubRRTTivjnGPSf9bx0D9XcnK75ky6fqCa4IkEQMFwPBXmQ9Zz8NlTsG+btyP56ileL6NGMuW0MoUlZYz7+2JmLdzCpaek8fDVfUiK039PkSDoL+942LvVC4Os56BoD5x4Lox4xut2qnFztuz2muAt3ZLPTy46mdvPOUn7E0QCpGCoS3lrvSOUF74E5aXelNOhd0H7fkFXVm9krd/J2BfnU1hSzjPXZ3JBz7ZBlyTS6CkY6sLmBf6U09kQHQf9R8KQOxvllNOjeXneRh6YtZT05CReGTOQLm2aBV2SiKBgqD3OwboPvBlGX30I8S3gjLvhtLHQTN+CD1dSVs6Efyxn2mcbOKtba/58bf+Ib4I349YhQZcgUmsUDOFyDpa+5m0h5CyCpu3gwgkw8EZIaB50dfVO3r4ibpu+gHlf7eTWs07kpxd3JzpK+xNE6hMFw7FyDvbnwu4NMPNjaNUFLn8c+l4LMfFBV1cvLduSz5ip89mxr4jHvtuP4f0rbaYrIgFSMByLrUvg7Z/CjlUQ1wSumQbdL230U06P5s3FW7jnb4tITopj5tjTOSW98R7AJ1LfKRhqomAnvP9byJoMicmQ0sU7WrnnFUFXVm+VlTv+8O4q/vLBWjI7JvPUyIG0bqYtKpH6TMFQHeVlsGAqzJ0Ahbvh1NFw7r3wysigK6vX9hSWcNcrC/n3yu1cNyiDB6/oTVyMTqojUt8pGKqyaR68fY+3Y7njULjk99Cud9BV1XvrcvcxemoWG/MK+NXw3ow8rYMOWhOJEAqGyuzdBnN+4fU0atYevjMZen9HRypXw/urtvN/L39BbHQUL44+jcEnqgmeSCRRMByprAQ+/yt88BCUFcEZP4Yz/x/ENw26snrPOcfTfhO8Hu2aM+mGgaQnqwmeSKRpXMFQVTfUtf+Gd8bBjtXQ9SK4+Hc6WrmaDhR7TfBmL9rCpX3SePgqNcETiVT6ywXYtQH+dS+sfBOSO8N1M+Dki4OuKmJs3n2AW6dlsWzLHjXBE2kAGncwlBzwzpr28WNgUXDe/V5Po+qeE6Gm52FogP63fie3+U3wnr0hk/N7qP2HSKRrnMHgnHfmtH/dB/kbodcI+NavoEV60JVFlOmfb+CXs5eRkZzEK2My6dJG+2FEGoLGFwwlBTBtuNfwrk1PGPUmdD4z6KoiSnFpOQ/+YxnTP9/IOSe35k/X9qdFYmQ3wRORrzWuYNi1HvZs9prbXfJ7yLwZohvXryBcO/YVcfuLC5i3fidjzz6Jn1x0sprgiTQwjexT0UHTNnDbJ9AkNehiIs7SzfmMmZpF3v5i/nRtP4b1UxM8kYaocQVDy07eAWoKhRqbvWgLP525iBQ1wROpVK+0hvF30biCQVMoa6ys3PHIu6t46oO1nNrJa4KX2lRN8EQassYVDFIjewpL+NHLX/D+qly+d1oHfnl5LzXBE2kEFAxSobW5+7jFb4L36+G9GTm4Y9DYbQTxAAAKtklEQVQlichxomCQb3h/pdcELy4miumjT+M0NcETaVQaVzDoSOWjcs7x1Idrefhfq+iZ1pxJN2RyQsvEoMsSiRwN5DOmcQWDVOpAcRk/mbmINxfncHnf9vz+O31IjNOpSkUaIwWDsHn3AcZMzWJ5zh7GXdydsWefqCZ4Io2YgqGR+3xdHrdPX0BxWTnPjTqVc7u3CbokEQmYgqERe/Ezrwleh1ZJPHNDJie1VhM8kfrqeB48F9akdDNLMbP3zGyNf5lcyXIdzOxdM1thZsvNrJN//wtm9pWZLfR/+oVTj1RPcWk5976+hJ+/sZQzu6byxh1DFQoicki4RyuNB+Y657oCc/3bFZkKPOyc6wEMArYf9thPnHP9/J+FYdYjVcjdW8T3n/2Mlz7fyO3nnMSzo06leYI6o4rI18IdShoGnONfnwJ8AIw7fAEz6wnEOOfeA3DO7QvzPeUYHWyCt7OgmMev688VfdsHXZKI1EPhbjG0dc7lAPiXFe257AbsNrPXzOwLM3vYzA6fB/kbM1tsZo+aWaVNeMxsjJllmVlWbm5umGU3PrMWbuY7T32CmTFz7OkKBZFIc+Nbx+04iSqDwczmmNnSCn6GVfM9YoAzgXuAU4ETgR/4j/0M6O7fn8IRWxuHc85Ncs5lOucyW7duXc23lrJyx+/eWcGPXllI3/SWzLpzKL1PaBgdIEWkblQ5lOScu6Cyx8xsm5mlOedyzCyN0H0HB2UDXzjn1vnPeQMYDEw+uLUBFJnZ83jhIbUk/0AJ//fyF3y4OpeRgzvwwGVqgiciVQv3U2I2MMq/PgqYVcEy/wOSzezg1/zzgOUAfphg3tFUw4GlYdYjvi+372P4kx/z8Zc7+M2Vvfn18FMUCiJSLeHufJ4IvGpmNwMbgasBzCwTGOucG+2cKzOze4C5fgDMB57xnz/dDwwDFgJjw6xHgLkrtnHXKwuJj43i5TGDObVTStAliUgEMedc0DXUWGZmpsvKygq6jHrHOcdfPljLI++uolf75ky6PpP2aoInIj4zm++cy6xqOR353EAUFJfyk5mLeWtxDsP6tWfiCDXBE5Fjo2BoALJ3FTBm6nxWbN3Dzy7pzpiz1ARPRI6dgiHCfeY3wSspK+e5H5zKuSerCZ6IhEfBEKGcc7z42QYe/MdyOvpN8E5UvyMRqQUKhghUXFrOL2Yv5eV5mzivexseu7af+h2JSK1RMESY3L1F3PbifLI27OKOc0/ixxeeTHSU9ieISO1RMESQxdm7uXXafHYXlPDE9/pzWR/1OxKR2qdgiBBvfLGZcX9fTGrTeGbeNoRe7dXvSETqhoKhnisrdzz0z5VM+s86Tuucwl++P4BWTSttQisiEjYFQz2WX1DCD1/5gv+szuWGIR25/7KexEar35GI1C0FQz315fa9jJ6SxebdB/jdiFO4blCHoEsSkUZCwVAPzVm+jbtmLCQhNpqXbxlMpprgichxpGCoR5xzPPn+l/zhvdX0bt+Cp68fqCZ4InLcKRjqiYLiUn7yt8W8tSSH4f3aM/E7fUiIVRM8ETn+FAz1wKadBdwyNYvV2/Zy77e7c8uZaoInIsFRMATs07V53D59PmXljudvHMTZ3XQ+axEJloIhIM45pn66gQlvLqdzahOeuSGTzqlNgi5LRETBEISi0jIeeGMZM7I2cUGPNjz63X40UxM8EaknFAzH2fa9hYydNp8FG3fzw/O6cPcF3YhSEzwRqUcUDMfRok1eE7z8AyU8+b0BXNonLeiSRES+QcFwnLy2IJvxry2hTbN4/n7b6fRs3zzokkREKqRgqGOlZeU89M+VPPPfrxh8Ygp/+f5AUprEBV2WiEilFAx1KL+ghDtfXsB/1+xg1JCO/FxN8EQkAigY6siabXu5ZarXBG/iiFO4Vk3wRCRCKBjqwLvLtnL3jIUkxsXwypjBDOyoJngiEjkUDLWovNzxxPtf8sf3VtMn3WuCl9ZCTfBEJLIoGGrJ/qJS7vnbIt5ZupUr+5/A70acoiZ4IhKRFAy14PAmeD+/tAc3n9FZTfBEJGIpGML0yZc7uOOlBZSVO164cRBnqQmeiES4RhUM972+hHlf7azV11y3Yz8n+k3wOqkJnog0AI0qGNq3TKRr26a1+ppndm3N3Rd2VRM8EWkwGlUw3HFul6BLEBGp98I6DNfMUszsPTNb418mV7DMuWa28LCfQjMb7j/W2cw+958/w8zUK0JEJGDh9mcYD8x1znUF5vq3Qzjn3nfO9XPO9QPOAwqAd/2HHwIe9Z+/C7g5zHpERCRM4QbDMGCKf30KMLyK5a8C3nHOFZg3n/M8YGYNni8iInUs3GBo65zLAfAv21Sx/LXAy/71VsBu51ypfzsbOCHMekREJExV7nw2szlAuwoeuq8mb2RmacApwL8O3lXBYu4ozx8DjAHo0EEN6URE6kqVweCcu6Cyx8xsm5mlOedy/A/+7Ud5qWuA151zJf7tHUBLM4vxtxrSgS1HqWMSMAkgMzOz0gAREZHwhDuUNBsY5V8fBcw6yrLX8fUwEs45B7yPt9+hOs8XEZHjINxgmAhcaGZrgAv925hZppk9e3AhM+sEZAAfHvH8ccCPzexLvH0Ok8OsR0REwmTeF/fIYma5wIYaPi0Vb/iqIWvo69jQ1w+0jg1BfV6/js65Khu6RWQwHAszy3LOZQZdR11q6OvY0NcPtI4NQUNYP52AWEREQigYREQkRGMKhklBF3AcNPR1bOjrB1rHhiDi16/R7GMQEZHqaUxbDCIiUg2NKhjM7JdmtvmwFuDfDrqmumBm95iZM7PUoGupbWb2KzNb7P/7vWtm7YOuqbaZ2cNmttJfz9fNrGXQNdUmM7vazJaZWbmZRfTsnSOZ2cVmtsrMvjSzb3SbjhSNKhh8jx5sA+6cezvoYmqbmWXgHWy4Meha6sjDzrk+fhv3N4EHgi6oDrwH9HbO9QFWAz8LuJ7athQYAfwn6EJqk5lFA08ClwA9gevMrGewVR2bxhgMDd2jwE85SkPCSOac23PYzSY0wPV0zr17WNfhz/D6iDUYzrkVzrlVQddRBwYBXzrn1jnnioFX8E5NEHEaYzDc6W+iP1fRGecimZldAWx2zi0Kupa6ZGa/MbNNwPdpmFsMh7sJeCfoIqRaTgA2HXY7Yk8l0ODO+VxFm/CngF/hfcv8FfAHvD+8iFHF+t0LfOv4VlT7jraOzrlZzrn7gPvM7GfAncAvjmuBtaCqdfSXuQ8oBaYfz9pqQ3XWrwGq0akE6rMGFwxHaxN+ODN7Bm+MOqJUtn5mdgrQGVjknRyPdGCBmQ1yzm09jiWGrbr/hsBLwFtEYDBUtY5mNgq4DDjfReCc8hr8GzYk2XjNQg866qkE6rNGNZTknzPioCvxdoI1CM65Jc65Ns65Ts65Tnj/SQdEWihUxcy6HnbzCmBlULXUFTO7GK/z8BXOuYKg65Fq+x/Q1cw6m1kc3hkrZwdc0zFpcFsMVfi9mfXD27xbD9wabDlyDCaa2clAOV6H3bEB11MXngDigff8rb/PnHMNZj3N7Ergz0Br4C0zW+icuyjgssLmnCs1szvxzlIZDTznnFsWcFnHREc+i4hIiEY1lCQiIlVTMIiISAgFg4iIhFAwiIhICAWDiIiEUDCIiEgIBYOIiIRQMIiISIj/D+vHQ6eoEWalAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fe073ac8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn import metrics\n",
    "penaltys = ['l1','l2']\n",
    "cs = [0.007,0.01,0.1,1,1.5]\n",
    "tuned_paramaters = dict(penalty = penaltys, C =cs)\n",
    "\n",
    "\n",
    "grid = GridSearchCV(lr,tuned_paramaters,cv=5,scoring = 'neg_log_loss')\n",
    "grid.fit(x_test,y_test)\n",
    "\n",
    "test_means = grid.cv_results_['mean_test_score']\n",
    "test_std = grid.cv_results_['std_test_score']\n",
    "train_means = grid.cv_results_['mean_train_score']\n",
    "train_std = grid.cv_results_['mean_train_score']\n",
    "grid.fit(x_test,y_test)\n",
    "print(\"测试集上的最佳分数：\",-grid.best_score_)\n",
    "print(\"测试集上的最佳参数：\",grid.best_params_)\n",
    "\n",
    "len_cs = len(cs)\n",
    "len_penalty = len(penaltys)\n",
    "test_scores = np.array(test_means).reshape(len_cs,len_penalty)\n",
    "train_scores = np.array(train_means).reshape(len_cs,len_penalty)\n",
    "test_stds = np.array(test_std).reshape(len_cs,len_penalty)\n",
    "train_stds = np.array(train_std).reshape(len_cs,len_penalty)\n",
    "\n",
    "for i,value in enumerate(penaltys):\n",
    "    \n",
    "    plt.errorbar(np.log(cs),test_scores[:,i],yerr=test_stds[:,i],label=\"penalty:\"+value)\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于这两个点实在太接近，其中误差对模型影响接近于0，所以不再继续调优。因此确定，最佳参数为1，正则为l1正则。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当C=0.001时，训练集正确率：0.7757774140752864\n",
      "测试集正确率：0.738562091503268\n",
      "\n",
      "当C=0.01时，训练集正确率：0.7823240589198036\n",
      "测试集正确率：0.7450980392156863\n",
      "\n",
      "当C=0.1时，训练集正确率：0.7855973813420621\n",
      "测试集正确率：0.7450980392156863\n",
      "\n",
      "当C=1.0时，训练集正确率：0.7855973813420621\n",
      "测试集正确率：0.7450980392156863\n",
      "\n",
      "当C=10.0时，训练集正确率：0.7921440261865794\n",
      "测试集正确率：0.7450980392156863\n",
      "\n",
      "当C=100.0时，训练集正确率：0.7561374795417348\n",
      "测试集正确率：0.6993464052287581\n",
      "\n",
      "当C=1000.0时，训练集正确率：0.7528641571194763\n",
      "测试集正确率：0.7516339869281046\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x183fe3e13c8>]"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fe007978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#svm\n",
    "from sklearn.svm import LinearSVC\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "c = np.logspace(-3,3,7)\n",
    "accuracy_train = [ ]\n",
    "accuracy_test = [ ]\n",
    "\n",
    "#线性svm的参数调优里，因为LinearSVC的参数不能接收list，所以需要写一个函数来循环调用，以找出最佳参数\n",
    "def Linear_svc_c(C,x_train,y_train,x_test,y_test):\n",
    "    svc = LinearSVC(C=C)\n",
    "    svc.fit(x_train,y_train)\n",
    "    y_train_pred_svc = svc.predict(x_train)\n",
    "    y_test_pred_svc = svc.predict(x_test)\n",
    "    accuracy1 = svc.score(x_train,y_train)\n",
    "    accuracy2 = svc.score(x_test,y_test)\n",
    "    print(\"当C={}时，训练集正确率：{}\".format(C,svc.score(x_train,y_train)))\n",
    "    print(\"测试集正确率：{}\\n\".format(svc.score(x_test,y_test)))\n",
    "    return accuracy2\n",
    "for i,value in enumerate(c):\n",
    "    temp = Linear_svc_c(value,x_train,y_train,x_test,y_test)\n",
    "    accuracy_test.append(temp)\n",
    "    \n",
    "#可视化\n",
    "plt.plot(np.log(c),np.array(accuracy_test),'b-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "继续调整参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当C=1时，训练集正确率：0.7855973813420621\n",
      "测试集正确率：0.7450980392156863\n",
      "\n",
      "当C=10时，训练集正确率：0.7839607201309329\n",
      "测试集正确率：0.7450980392156863\n",
      "\n",
      "当C=100时，训练集正确率：0.7446808510638298\n",
      "测试集正确率：0.6862745098039216\n",
      "\n",
      "当C=1000时，训练集正确率：0.6677577741407529\n",
      "测试集正确率：0.6862745098039216\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x183ff634e48>]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x183fe5f6908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.svm import LinearSVC\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "c = np.array([1,10,100,1000])\n",
    "accuracy_train = [ ]\n",
    "accuracy_test = [ ]\n",
    "\n",
    "#线性svm的参数调优里，因为LinearSVC的参数不能接收list，所以需要写一个函数来循环调用，以找出最佳参数\n",
    "def Linear_svc_c(C,x_train,y_train,x_test,y_test):\n",
    "    svc = LinearSVC(C=C)\n",
    "    svc.fit(x_train,y_train)\n",
    "    y_train_pred_svc = svc.predict(x_train)\n",
    "    y_test_pred_svc = svc.predict(x_test)\n",
    "    accuracy1 = svc.score(x_train,y_train)\n",
    "    accuracy2 = svc.score(x_test,y_test)\n",
    "    print(\"当C={}时，训练集正确率：{}\".format(C,svc.score(x_train,y_train)))\n",
    "    print(\"测试集正确率：{}\\n\".format(svc.score(x_test,y_test)))\n",
    "    return accuracy2\n",
    "for i,value in enumerate(c):\n",
    "    temp = Linear_svc_c(value,x_train,y_train,x_test,y_test)\n",
    "    accuracy_test.append(temp)\n",
    "    \n",
    "#可视化\n",
    "plt.plot(np.log(c),np.array(accuracy_test),'b-')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过多次尝试发现，当c很大时，正确率的结果很不稳定，这可能是因为某些离群点的问题。在c=1和c=10的结果相同，因此最佳参数应为1或10。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当c=0.01,gamma=0.01时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.01,gamma=0.1时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.01,gamma=1.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.01,gamma=10.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.01,gamma=100.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.1,gamma=0.01时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.1,gamma=0.1时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=0.1,gamma=1.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.1,gamma=10.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=0.1,gamma=100.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=1.0,gamma=0.01时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=1.0,gamma=0.1时,测试集正确率：0.7320261437908496\n",
      "\n",
      "当c=1.0,gamma=1.0时,测试集正确率：0.6928104575163399\n",
      "\n",
      "当c=1.0,gamma=10.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=1.0,gamma=100.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=10.0,gamma=0.01时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=10.0,gamma=0.1时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=10.0,gamma=1.0时,测试集正确率：0.6928104575163399\n",
      "\n",
      "当c=10.0,gamma=10.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=10.0,gamma=100.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=100.0,gamma=0.01时,测试集正确率：0.7124183006535948\n",
      "\n",
      "当c=100.0,gamma=0.1时,测试集正确率：0.6666666666666666\n",
      "\n",
      "当c=100.0,gamma=1.0时,测试集正确率：0.6928104575163399\n",
      "\n",
      "当c=100.0,gamma=10.0时,测试集正确率：0.6405228758169934\n",
      "\n",
      "当c=100.0,gamma=100.0时,测试集正确率：0.6405228758169934\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "accuracy=[]\n",
    "def rbf_c(C,gamma,x_train,y_train,x_test,y_test):\n",
    "    svc2 = SVC(C=C,kernel='rbf',gamma=gamma)\n",
    "    svc2.fit(x_train,y_train)\n",
    "    accuracy = svc2.score(x_test,y_test)\n",
    "    print(\"当c={},gamma={}时,测试集正确率：{}\\n\".format(C,gamma,accuracy))\n",
    "    return accuracy\n",
    "c = np.logspace(-2,2,5)\n",
    "gamma = np.logspace(-2,2,5)\n",
    "for i,value in enumerate(c):\n",
    "    for j,gammas in enumerate(gamma):\n",
    "        temp = rbf_c(value,gammas,x_train,y_train,x_test,y_test)\n",
    "        accuracy.append(temp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当gamma很大时，效果好像都不是太好，可能是过拟合了，因此调小gamma值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "当c=1,gamma=0.001时,测试集正确率：0.6339869281045751\n",
      "\n",
      "当c=1,gamma=0.002时,测试集正确率：0.7320261437908496\n",
      "\n",
      "当c=1,gamma=0.01时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=1,gamma=0.1时,测试集正确率：0.7320261437908496\n",
      "\n",
      "当c=1,gamma=0.2时,测试集正确率：0.7320261437908496\n",
      "\n",
      "当c=1,gamma=1.0时,测试集正确率：0.6928104575163399\n",
      "\n",
      "当c=6,gamma=0.001时,测试集正确率：0.7581699346405228\n",
      "\n",
      "当c=6,gamma=0.002时,测试集正确率：0.7450980392156863\n",
      "\n",
      "当c=6,gamma=0.01时,测试集正确率：0.7450980392156863\n",
      "\n",
      "当c=6,gamma=0.1时,测试集正确率：0.7450980392156863\n",
      "\n",
      "当c=6,gamma=0.2时,测试集正确率：0.7320261437908496\n",
      "\n",
      "当c=6,gamma=1.0时,测试集正确率：0.6928104575163399\n",
      "\n",
      "当c=10,gamma=0.001时,测试集正确率：0.7450980392156863\n",
      "\n",
      "当c=10,gamma=0.002时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=10,gamma=0.01时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=10,gamma=0.1时,测试集正确率：0.738562091503268\n",
      "\n",
      "当c=10,gamma=0.2时,测试集正确率：0.7254901960784313\n",
      "\n",
      "当c=10,gamma=1.0时,测试集正确率：0.6928104575163399\n",
      "\n"
     ]
    }
   ],
   "source": [
    "from sklearn.svm import SVC\n",
    "accuracy=[]\n",
    "def rbf_c(C,gamma,x_train,y_train,x_test,y_test):\n",
    "    svc2 = SVC(C=C,kernel='rbf',gamma=gamma)\n",
    "    svc2.fit(x_train,y_train)\n",
    "    accuracy = svc2.score(x_test,y_test)\n",
    "    print(\"当c={},gamma={}时,测试集正确率：{}\\n\".format(C,gamma,accuracy))\n",
    "    return accuracy\n",
    "c = np.array([1,6,10])\n",
    "gamma = np.array([0.001,0.002,0.01,0.1,0.2,1])\n",
    "for i,value in enumerate(c):\n",
    "    for j,gammas in enumerate(gamma):\n",
    "        temp = rbf_c(value,gammas,x_train,y_train,x_test,y_test)\n",
    "        accuracy.append(temp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "经过调整发现，当gamma=0.001,c=6时，模型的性能提升了不少。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
